Actualizado: Instalación de SAMBA y Web2Py
Introducción
El proceso de instalación de Ubuntu Server es muy sencillo y únicamente es necesario seguir las intrucciones que proporciona el propio instalador.
Si alguien quiere echarle un vistazo al proceso completo de instalación -pantalla a pantalla- antes de decidirse a realizarlo en su máquina, puede visitar este artículo del blog de paraca: Linux Ubuntu Server en VMware. Las capturas de pantalla están en castellano, por lo que el idioma tampoco sirve de excusa...
De hecho, la captura de pantalla del paso de selección del servidor OpenSSH está "copiada" de este artículo.
Instalación del servidor
Suponemos que disponemos de una copia del CD de instalación de Ubuntu Server.
En mi caso he utilizado la versión 9.04. Ubuntu Server puede obtenerse libremente desde la página de Ubuntu: Download Ubuntu.
La instalación, como comentaba antes, no tiene secretos, por lo que basta con seguir las instrucciones que nos propone el asistente de instalación.
Uno de los pasos difíciles acostumbra a ser el tema del particionado del disco duro. En mi caso, utilizo un disco de 7GB para realizar la instalación, en el que no tengo datos que quiera conservar.
Si quieres realizar la instalación en un disco donde ya tienes Windows o datos a los que les tienes cariño, te aconsejo que practiques primero en una máquina virtual o que hagas una copia de seguridad del disco.
En cualquier caso, este punto depende de la configuración de cada uno, por lo que Google probablemente pueda ayudarte mucho más que yo.
Siguiendo la filosofía de The Perfect Server, y prefiero no instalar nada "de base", a parte del servidor openSSH.
Nota: En mi caso el equipo no estaba conectado al router durante la instalación, aunque la tarjeta de red se detecta correctamente, pero no es capaz de asignarle una dirección IP de forma automática. El sistema lo intenta, hasta que falla y te deja introducir la configuración a mano. En este punto es conveniente introducir una IP del rango de IPs privadas de tu instalación (en mi caso una IP estática).

El sistema continua con la instalación hasta finalizarla.
En este punto llevo el equipo a su ubicación "definitiva" y lo conecto al router.
El resto de la instalación la realizaré de forma remota, conectando con el servidor a través de Putty.
Conexión remota a nuestro equipo mediante Putty
Descargamos Putty desde Putty download page.
Ejecutamos Putty e introducimos la IP que hemos asignado al equipo.
La primera vez que conectamos, se nos muestra un mensaje de error:
The server's host key is not cached in the registry
Podemos ver la explicación del mensaje en la página Common error messages, en el punto 10.1.
El mensaje nos informa de que Putty no se ha puesto nunca en contacto con este servidor, y por tanto, no tiene manera de saber si realmente es quien dice ser. A partir de que confirmemos la identidad del servidor, el mensaje no aparecerá de nuevo.
A partir del momento que Putty establece la conexión con el equipo, es como si nos encontráramos físicamente delante del teclado y monitor conectados al equipo remoto.
Nos validamos con el usuario y contraseña definidos durante la instalación, y ya estamos dentro!!.
Instalación de Transmission en modo headless
Transmission es un cliente de BitTorrent que puede utilizarse sin instalar un entorno gráfico y desde un equipo sin teclado/monitor conectado. En el caso de Transmission, es posible realizar la mayoría de operaciones desde el entorno web que el propio cliente habilita.
La información relativa a la instalación de Transmission la he obtenido de la página del programa: Transmission: Headless Usage.
En primer lugar, hay que instalar
transmission-daemon
, y NO transmission
a secas.Otro detalle a tener en cuenta es que para realizar todas estas operaciones hay que tener permisos de
root
, por lo que es necesario preceder todas las intrucciones con sudo
(en el Wiki de Transmission se sobreentiende, lo que no deja de ser una falta de consideración para los novatos como yo; en cuanto te despistas un momento, tienes que ejecutar dos veces -sin el sudo
y después con él- las intrucciones que se muestran)La instalación de
transmission-daemon
en Ubuntu se realiza mediante: sudo apt-get install transmission-daemon
.Instalación del script de inicio
El script de inicio -para Ubuntu- se encuentra en la página Scripts/init.d del wiki de Transmission.
El primer problema es copiar el script a la máquina remota. Gracias a Putty, en la máquina remota he ejecutado
sudo nano /etc/init.d/transmission-daemon
. Como el fichero no existe, nano
lo crea en blanco. Como teclear todo el script no es una opción, he seleccionado y copiado el texto en el navegador y lo he pegado sin problemas en la ventana de nano
en Putty. Lo he grabado mediante Ctrl+O
y he salido con Ctrl+X
.Nota: La vez anterior tenía SAMBA configurado en la máquina remota, por lo que creé el fichero en local y lo copié al recurso compartido. Conectado a la máquina remota, lo copié desde la carpeta compartida con permisos de
root
a su ubicación en /etc/init.d/
Probando el script
Siguiendo las instrucciones del wiki, damos permisos de ejecución al script:
sudo chmod +x /etc/init.d/transmission-daemon
El siguiente comando otorga la propiedad del fichero al
root
(y a su grupo):sudo chown root:root /etc/init.d/transmission-daemon
A continuación se crea un usuario específico para ejecutar Transmission, por razones de seguridad. Me parece una gran idea, así que:
sudo adduser --disabled-password transmission
Nota: Si elegimos otro nombre de usuario diferente a
transmission
, debemos modificar el valor de USERNAME
en el script de arranque.Para arrancar el cliente utilizaremos :
/etc/init.d/transmission-daemon start
Y para detenerlo:
/etc/init.d/transmission-daemon stop
Configuración
Aunque parecería que con los pasos anteriores ya podríamos disponer de nuestro cliente de bittorrent operativo, la verdad es que no funciona: falta configurarlo.
Si lo habéis arrancado, detenedlo. Si no lo habíais hecho, hacedlo: arrancadlo y detenedlo (para que se creen algunas carpetas necesarias).
La ubicación de los ficheros de configuración se indica en esta página del wiki: ConfigFiles, mientras que el contenido de los ficheros, se encuentra en EditConfigFiles.
En mi caso,
/home/transmission/.config/transmission-daemon/
Como estamos conectados con un usuario que no es transmission
necesitaremos permisos de root
para editar los ficheros de transmission
(el usuario del cliente).Creamos el fichero
settings.json
y stats.json
mediante: sudo nano /home/transmission/.config/transmission-daemon/settings.json
y sudo nano /home/transmission/.config/transmission-daemon/stats.json
.Los diferentes parámetros del fichero
settings.json
los encontramos en la página del wiki: EditConfigFiles. Quizás el único obligatorio sea el de definir la lista de equipos remotos autorizados a conectarse al interfaz web de Transmission, ya que en caso contrario no permite la conexión: "rpc-whitelist": "lista de IPs autorizadas separadas por comas"
. En esta whitelist se permiten comodines, de manera que puedes incluir todas las IPs de tu subred mediante "192.168.1.*", por ejemplo.El fichero
stats.json
lo he dejado en blanco.Puerto del interfaz web
Un parámetro importante a configurar es el puerto en el que se encuentra el interfaz web de Transmission. Si no recuerdo mal, el puerto por defecto es el 8000, pero para evitar problemas en el futuro, prefiero cambiarlo al 8001 mediante el parámetro:
"rpc-port": 8001
.Ubicación de las descargas
Otro parámetro interesante es el definir la ubicación donde queremos que se almacenen las descargas. En mi caso,
/srv/public/
, al que le he dado permisos a todo el mundo (con la idea de compartirlo más adelante mediante SAMBA).sudo mkdir /srv/public
sudo chmod a+rw /srv/public
Nota: Este parámetro -la ubicación de las descargas- puede configurarse desde el interfaz web (una vez que tengas acceso vía web). En la parte inferior izquierda de la ventana encontraréis un pequeño menú (indicado por un engranaje). Seleccionando Preferences, aparece un menú modal donde podemos especificar la ubicación de las descargas.


A través de este menú podemos especificar otros parámetros, como los límites de velocidad para las descargas/subidas, y poco más.
Siguiendo estos -creo que sencillos- pasos puedes resucitar una máquina vieja y ponerla a "trabajar" descargando lo que quieras de internet a través de Bittorrent.
Aunque la configuración inicial mediante Putty (y su pantalla negra) puedan provocar un poco de miedo a los novatos como yo, la verdad es que después de la configuración inicial, la gestión de los archivos descargados puede realizarse desde el navegador (carga de ficheros torrent, eliminación del torrent, eliminación del torrent y del fichero descargado, información relativa al torrent, etc...)
Espero ampliar este pequeño tutorial con la instalación y configuración de SAMBA para que el traspaso de los ficheros descargados en la máquina remota a nuestra máquina local sea más sencillo todavía.
A continuación detallo, a modo de brainstorming, las siguientes acciones que me puedo plantear con respecto a esta máquina:
A través de este menú podemos especificar otros parámetros, como los límites de velocidad para las descargas/subidas, y poco más.
Resumen
Siguiendo estos -creo que sencillos- pasos puedes resucitar una máquina vieja y ponerla a "trabajar" descargando lo que quieras de internet a través de Bittorrent.
Aunque la configuración inicial mediante Putty (y su pantalla negra) puedan provocar un poco de miedo a los novatos como yo, la verdad es que después de la configuración inicial, la gestión de los archivos descargados puede realizarse desde el navegador (carga de ficheros torrent, eliminación del torrent, eliminación del torrent y del fichero descargado, información relativa al torrent, etc...)
Tareas pendientes / Siguientes pasos
A continuación detallo, a modo de brainstorming, las siguientes acciones que me puedo plantear con respecto a esta máquina:
- Añadir más espacio para las descargas: Actualmente el disco de 7.5GB contiene la instalación de Ubuntu Server, la partición de swap, etc... lo que no deja mucho espacio para descargas. Mi intención es añadir un disco (o dos) de 40GB para ampliar la capacidad de almacenamiento. Deberé modificar el sistema para que los discos se monten solos durante el arranque y deberé modificar la configuración de Transmission. La dificultad de estas modificaciones es media, y el riesgo bajo. Como plan de marcha atrás, desconectar los discos y dejar el sistema tal y como está ahora.
- Instalar web2py: web2py es un framework de desarrollo de aplicaciones web basado en Python. He estado jugando con él durante un par de meses, y he montado una sencilla aplicación para gestionar los gastos de casa (facturas, comida, etc...) La muerte del portátil ha estado a punto de acabar con este mini-proyecto, pero afortunadamente tenía una copia de la aplicación en un repositorio Mercurial en un pendrive.
- Instalar SAMBA para simplificar el traspaso de ficheros descargados: Dificultad: baja.
- Solucionar el problema de apagado del equipo: El equipo no se apaga del todo cuando lanzo el comando de detención desde la línea de comandos. Por lo que he estado curioseando por internet, parece que es algún problema con la gestión de energia (ACPI). Dificultad: media-alta (no he encontrado ninguna solución que funcione siempre en los foros que he estado consultando). Riesgo: cero (el equipo se seguirá quedando encendido)
- Configurar algún sistema de backup centralizado en este equipo para evitar perder datos si otro equipo decide morirse mucho sin avisar.
- Aprovechar que web2py estará instalado (ver segundo punto), y montar una entorno de administración web (dificultad: ciencia-ficción)
Comentarios